热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

漫画|单元测试实在是太可怕了!

周一刚上班,会议室就传来了经理老梁的咆哮。张大胖和何小痩赶紧分析原因许久都没人敢发言。老梁打开了电脑,决定给程序员上一课。新版本的开发又开始了。张大胖无

周一刚上班,会议室就传来了经理老梁的咆哮。

e721aec79b3be26b9ba87977b34d2bf6.png

张大胖和何小痩赶紧分析原因

9efad8104239343642d9414a14f27d0b.png

716c6e4b529a99f84c63040d9bb00f01.png

许久都没人敢发言。

老梁打开了电脑,决定给程序员上一课。

2262a83db3efeba9bbbbdad8d85074d2.png

7a17c553a143fa18f969f5c2585003b8.png

3ab1b545bd594672c89ce1994fe8c840.png

新版本的开发又开始了。

60426dcc2feccd6a89def8f76d87f947.png

c35751e713b361a57c5016b86106dc44.png

5ef9408f1ba245f97cb89be4a2cedbe4.png

张大胖无奈,只好加班写单元测试用例

3969594d754ab9e66d286a6728860057.png

过了两天,老梁又来找张大胖了

486cf24d176edeb71efdb76e6e1206e1.png

既然如此,张大胖也没有心情再认真地写测试了。

5c3ed8d5aa11d865912cc7fcc2e475ae.png

cad02fce6da2625439cc9f5ba994cf44.png

4d755c56141c427023ecb00a0830e177.png

无可奈何的何小痩,也开始应付起来

21363025fee636cb8dc3b1d7ba149677.png

大家热火朝天地写单元测试,只有小崔是例外。

23f0337ef70fcfcb23a9b9bec70c9a40.png

37057d513c7998318d902fd48c19aeba.png

145edd1cdac949c232c3846a63ab11c0.png

小崔很快就学会了张大胖的做法......

a88ea7271ac674f4d0aeb904e8c2b893.png

有一天,何小痩的代码居然让张大胖的单元测试失败了。

ba9e53e25b19153b4b604aec8461dd70.png

d135970e232c116ae86615947814a214.png

9a91628be7e5a35edcb9be48b27cf139.png

53a10c88a377453e44a32d92bab1d272.png

在大家的努力下,经理终于看到了漂亮的报表。

ca3f9da200b30d27788ded5611dd6474.png

新版本上线了,没想到Bug数比上个版本只多不少,老梁傻眼了。

9c4518a006150b72c1cec51ebab553ac.png

c3d79a449249fda806f21c40462808ca.png

单元测试是好东西吗?当然是!

但是在实施单元测试的时候,真正地重视起来,循序渐进地执行了吗?

有没有给程序员留足时间?

人员的培训是否到位?观念是不是统一了?

能不能不赶进度?

需求能不能稳定下来?

对于那些难以写测试的地方,有没有总结出最佳实践?

......

在把这些问题解决之前,就开始大干快上,采用运动式的方式做单元测试,注定是要失败的。

3ebf76642f14585918998de0fd2e21a1.png

98a612f02d1acc2fe855bb2ce60a8b4f.png

fa2169751d9c4dd68b6a46848ec1d419.png

6c0a03ad8e48dd3bfeaf6584ea9028e3.png

点击下方图片,查看更多精彩

f94a9676b99f0459b4a5a7af2c415e2e.png

39e83bf8e7c958672dd53f2e4978d464.png

bd46e310ed43c059f4eca7a06e99dd92.png

2fb7b412074adcf91773ff0970939ad6.png

35f8e5ded710ea73dc8be38148045461.png


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 大连微软技术社区举办《.net core始于足下》活动,获得微软赛百味和易迪斯的赞助
    九月十五日,大连微软技术社区举办了《.net core始于足下》活动,共有51人报名参加,实际到场人数为43人,还有一位专程从北京赶来的同学。活动得到了微软赛百味和易迪斯的赞助,场地也由易迪斯提供。活动中大家积极交流,取得了非常成功的效果。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
author-avatar
邱walz_297
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有